package com.example.aihub.service;

import com.example.aihub.entity.Post;
import com.example.aihub.entity.PostCategory;
import com.example.aihub.entity.User;
import java.util.List;
import java.util.Optional;

public interface PostService {
    Post createPost(Post post);
    Optional<Post> getPostById(Long id);
    Post updatePost(Post post);
    void deletePost(Long id);
    Post incrementViewCount(Long id);
    Post likePost(Long id, User user);
    List<Post> getPostsByUser(User user);
    List<Post> getLatestPosts(int limit);
    List<Post> searchPosts(String keyword);
    List<Post> getAllPosts(int page, int size);
    
    // 添加获取热门帖子的方法
    List<Post> getHotPosts(int limit);
    
    // 添加按分类获取帖子的方法
    // 获取特定分类下的所有帖子
    List<Post> getPostsByCategory(PostCategory category);
    
    // 获取特定分类下的已发布帖子，并按创建时间倒序排序
    List<Post> getPublishedPostsByCategory(PostCategory category, int page, int size);
}